/**
 * Static class for conversions.
 */
function Conversions()
{
}

/**
 * Converts a geolocation object to a Google Map LatLng object.
 */
Conversions.geoLocationToGoogleMapLatLng = function(position)
{
	return new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
};

/**
 * Converts ccTLD codes (countries) to equivalent language codes (ISO-639).
 * 
 * @param The ccTLD code.
 */
Conversions.ccTLDToISO639 = function(ccTLD)
{
	var iso639 = Conversions.CCTLD_ISO639_MAP[ccTLD.toLowerCase()];
	if (!iso639)
	{
		// Default to English.
		iso639 = 'en';
	}
	
	return iso639;
};

/**
 * Map of ccTLD codes (countries) to equivalent language codes (ISO-639). Excludes English as this is the default.
 */
Conversions.CCTLD_ISO639_MAP = {'ad': 'ca',
'ae': 'ar',
'af': 'ps',
'al': 'sq',
'am': 'hy',
'an': 'nl',
'ao': 'pt',
'ar': 'es',
'at': 'de',
'aw': 'nl',
'ba': 'bs',
'bd': 'bn',
'be': 'nl',
'bf': 'fr',
'bg': 'bg',
'bh': 'ar',
'bi': 'fr',
'bj': 'fr',
'bo': 'es',
'br': 'pt',
'by': 'be',
'cd': 'fr',
'cf': 'fr',
'cg': 'fr',
'ch': 'de',
'ci': 'fr',
'cl': 'es',
'cm': 'fr',
'cn': 'zh',
'co': 'es',
'cr': 'es',
'cu': 'es',
'cv': 'pt',
'cy': 'el',
'cz': 'cs',
'de': 'de',
'dk': 'da',
'do': 'es',
'dz': 'ar',
'ec': 'es',
'ee': 'et',
'eg': 'ar',
'er': 'ar',
'es': 'es',
'et': 'am',
'fi': 'fi',
'fo': 'da',
'fr': 'fr',
'ga': 'fr',
'gf': 'fr',
'gl': 'da',
'gp': 'fr',
'gr': 'el',
'gt': 'es',
'hn': 'es',
'hr': 'hr',
'ht': 'ht',
'hu': 'hu',
'id': 'id',
'ie': 'ga',
'il': 'he',
'in': 'hi',
'iq': 'ar',
'ir': 'fa',
'it': 'it',
'jo': 'ar',
'jp': 'ja',
'kh': 'km',
'km': 'ar',
'kp': 'ko',
'kr': 'ko',
'kw': 'ar',
'kz': 'kk',
'la': 'lo',
'lb': 'ar',
'li': 'de',
'lk': 'si',
'lt': 'lt',
'lu': 'lb',
'lv': 'lv',
'ly': 'ar',
'ma': 'ar',
'mc': 'fr',
'md': 'ro',
'me': 'sr',
'mg': 'mg',
'mh': 'mh',
'mk': 'mk',
'ml': 'bm',
'mm': 'my',
'mn': 'mn',
'mq': 'fr',
'mr': 'ar',
'mt': 'mt',
'mv': 'dv',
'mw': 'ny',
'mx': 'es',
'my': 'ms',
'mz': 'pt',
'na': 'af',
'ne': 'fr',
'ni': 'es',
'nl': 'nl',
'no': 'nn',
'np': 'ne',
'nr': 'na',
'om': 'ar',
'pa': 'es',
'pe': 'es',
'pf': 'fr',
'pg': 'ho',
'pk': 'pa',
'pl': 'pl',
'pr': 'es',
'ps': 'ar',
'pt': 'pt',
'py': 'gn',
'qa': 'ar',
'ro': 'ro',
'rs': 'bs',
'ru': 'ru',
'rw': 'rw',
'sa': 'ar',
'sd': 'ar',
'se': 'sv',
'si': 'sl',
'sk': 'sk',
'sm': 'it',
'sn': 'fr',
'so': 'so',
'sr': 'nl',
'st': 'pt',
'su': 'ru',
'sv': 'es',
'sy': 'ar',
'td': 'fr',
'tf': 'fr',
'tg': 'fr',
'th': 'th',
'tj': 'tg',
'tl': 'pt',
'tm': 'tk',
'tn': 'ar',
'to': 'to',
'tp': 'pt',
'tr': 'tr',
'tw': 'zh',
'tz': 'sw',
'ua': 'uk',
'uy': 'es',
'uz': 'uz',
'va': 'it',
've': 'es',
'vn': 'vi',
'vu': 'bi',
'ws': 'sm',
'ye': 'ar',
'yu': 'cu',
'za': 'zu'};